using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

namespace OpenComposite.EII.Designer.Workflow
{
	public static class MashupStatics
	{
		static MashupStatics()
		{

		}

		#region Properties
		public static List<Type> TypesMethod
		{
			get { return _typesMethod; }
		}
		public static List<Type> TypesEvent
		{
			get { return _typesEvent; }
		}
		public static List<string> TypeNamesMethod
		{
			get
			{
				if ( _typenamesMethod == null ) {
					_typenamesMethod = _typesMethod.ConvertAll<string>(delegate(Type t) { return t.ToString(); });
				}
				return _typenamesMethod;
			}
		}
		public static List<string> TypeNamesEvent
		{
			get
			{
				if ( _typenamesEvent == null ) {
					_typenamesEvent = _typesEvent.ConvertAll<string>(delegate(Type t) { return t.ToString(); });
				}
				return _typenamesEvent;
			}
		}
		#endregion

		#region Statics
		private static readonly List<Type> _typesMethod = new List<Type>(new Type[]{
			typeof(TextBox),
			typeof(ListBox),
			typeof(ComboBox),
			typeof(CheckBox),
			typeof(CheckedListBox),
			typeof(Label),
			typeof(DataGridView)
		});
		private static readonly List<Type> _typesEvent = new List<Type>(new Type[] {
			typeof(Button),
			typeof(ComboBox),
			typeof(ListBox),
			typeof(CheckBox),
			typeof(CheckedListBox),
			typeof(DataGridView)
		});

		private static List<string> _typenamesMethod = null;
		private static List<string> _typenamesEvent = null;
		#endregion
	}

	public enum MashupUIConfigType
	{
		Method,
		Event
	}
}
